<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /*
            3. Promise.prototype.catch方法: Promise实例.catch(onRejected)
                onRejected: 失败的回调函数(reason)=>{ }
                说明: catch方法是then方法的语法糖，相当于: then(undefined,onRejected)
        */

        // 验证catch方法
        const p = new Promise((resolve,reject)=>{
            setTimeout(() => {
                reject('failed')
            }, 1000);
        })
        // 下面这两行道理是一样的
        p.then(undefined,(err)=>{console.log(err)})
        p.catch((err)=>console.log(err))

        // 一个知识点的补充,下面这行代码是会报错的，因为p这个promise实例是失败的，所以会走then方法的第二个回调，但是很明显，你没给第二个回调，所以会抛出异常
        p.then((value)=>console.log(value))
    </script>
</body>
</html>